# -*- coding: utf-8 -*-

import sys
sys.path.append("../Model")
from modl_queries import CLS_Modl_Queries
from modl_make_bdd import loadSession
from modl_make_bdd import CLS_Table

class CLS_Contlr_Queries():
	
	''' Class Controller -> Lança modelo query's '''

	global session, modl_queries
	session = loadSession()
	modl_queries = CLS_Modl_Queries()
	
	def query1(self):

		''' Query -> 1ª Query enunciado '''

		lista1 = modl_queries.exe_query_1(session, CLS_Table)
		return lista1
		
	def query2(self):
		
		''' Query -> 2ª Query enunciado '''

		lista2 = modl_queries.exe_query_2(session, CLS_Table)
		return lista2
		
	def query3(self):
		
		''' Query -> 3ª Query enunciado '''

		lista3 = modl_queries.exe_query_3(session, CLS_Table)
		return lista3
	
	def query4(self):
		
		''' Query -> 4ª Query enunciado '''

		lista4 = modl_queries.exe_query_4(session, CLS_Table)
		return lista4
	
	def query_get_data(self):
		
		''' Query ->  '''

		data = modl_queries.get_all_data(session, CLS_Table)
		return data
		
	def query_get_nivel(self, unidade):
		
		''' Query -> Lista de níveis de estudo '''

		data_nivel = modl_queries.get_nivel_data(session, CLS_Table, unidade)
		lista_nivel = self.__get_list(data_nivel)
		return lista_nivel
	
	def query_get_curso(self, unidade):
		
		''' Query -> Lista dos cursos '''

		data_curso = modl_queries.get_curso(session, CLS_Table, unidade)
		lista_curso = self.__get_list(data_curso)
		return lista_curso
		
	def query_get_unidades(self):
		
		''' Query -> Lista das u.c. '''

		data_unidades = modl_queries.get_unidades(session, CLS_Table)
		lista_unidades = self.__get_list(data_unidades)
		return lista_unidades
	
	def query_get_estab_uni_curso(self):
		
		''' Query -> Estabelecimento por escola por curso '''

		data_estab_uni_curso = modl_queries.get_estab_uni_curso(session, CLS_Table)
		return data_estab_uni_curso
		
	def query_get_niveis(self):
		
		''' Query -> Devolve lista níveis '''

		niveis = modl_queries.get_niveis(session, CLS_Table)
		lista_niveis = self.__get_list(niveis)
		return lista_niveis
		
	def __get_list(self, n_tuple):
		
		''' Query -> Tupple para lista '''

		lista=[]
		for elemento in n_tuple:
			lista.append(elemento[0])
		return lista
